package org.jeecg.modules.ecard.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
 * <p>
 * 
 * </p>
 *
 * @author 杜正冬
 * @since 2025-03-26
 */
@Getter
@Setter
@ToString
@TableName("SMART.SMART_CARD")
@ApiModel(value = "SmartCardEntity对象", description = "")
public class SmartCardEntity extends Model<SmartCardEntity> {

    private static final long serialVersionUID = 1L;

    @TableId("SMT_CARDID")
    private Long smtCardid;

    @TableField("SMT_PERSONNELID")
    private Long smtPersonnelid;

    @TableField("SMT_CARDNO")
    private String smtCardno;

    @TableField("SMT_SHOWCARDNO")
    private String smtShowcardno;

    @TableField("SMT_CARDCODE")
    private String smtCardcode;

    @TableField("SMT_ICCARDCODE")
    private Integer smtIccardcode;

    @TableField("SMT_BANKCARDCODE")
    private Integer smtBankcardcode;

    @TableField("SMT_CARDSERIAL")
    private String smtCardserial;

    @TableField("SMT_ACCOUNTS")
    private String smtAccounts;

    @TableField("SMT_BANKBAKNO")
    private String smtBankbakno;

    @TableField("SMT_CARDDATE")
    private Date smtCarddate;

    @TableField("SMT_STARTCODE")
    private String smtStartcode;

    @TableField("SMT_STARTDATE")
    private Date smtStartdate;

    @TableField("SMT_VALIDITYDATE")
    private Date smtValiditydate;

    @TableField("SMT_ENDCODE")
    private String smtEndcode;

    @TableField("SMT_ENDDATE")
    private Date smtEnddate;

    @TableField("SMT_CHANGEDATE")
    private Date smtChangedate;

    @TableField("SMT_PASSWORD")
    private String smtPassword;

    @TableField("SMT_ORG_ID")
    private String smtOrgId;

    @TableField("SMT_OPERATORID")
    private String smtOperatorid;

    @TableField("SMT_DAILYCODE")
    private String smtDailycode;

    @TableField("SMT_DAILYNO")
    private Long smtDailyno;

    @TableField("SMT_OLDCARDID")
    private Integer smtOldcardid;

    @TableField("SMT_DEPOSIT")
    private BigDecimal smtDeposit;

    @TableField("SMT_RETURNDEPOSIT")
    private BigDecimal smtReturndeposit;

    @TableField("SMT_DEPRECIATION")
    private BigDecimal smtDepreciation;

    @TableField("SMT_BLACKLISTINVOICENO")
    private Long smtBlacklistinvoiceno;

    @TableField("SMT_CPUCARDSERIAL")
    private String smtCpucardserial;

    @TableField("SMT_SINGLELIMIT")
    private BigDecimal smtSinglelimit;

    @TableField("SMT_DAYLIMIT")
    private BigDecimal smtDaylimit;

    @TableField("SMT_WALLET0_TIMES")
    private Long smtWallet0Times;

    @TableField("SMT_WALLET0_ADDTIMES")
    private Long smtWallet0Addtimes;

    @TableField("SMT_WALLET0_DECTIMES")
    private Long smtWallet0Dectimes;

    @TableField("SMT_WALLET0_MONEY")
    private Long smtWallet0Money;

    @TableField("SMT_WALLET0_DEALDATETIME")
    private Date smtWallet0Dealdatetime;

    @TableField("SMT_WALLET1_TIMES")
    private Long smtWallet1Times;

    @TableField("SMT_WALLET1_ADDTIMES")
    private Long smtWallet1Addtimes;

    @TableField("SMT_WALLET1_DECTIMES")
    private Long smtWallet1Dectimes;

    @TableField("SMT_WALLET1_MONEY")
    private Long smtWallet1Money;

    @TableField("SMT_WALLET1_DEALDATETIME")
    private Date smtWallet1Dealdatetime;

    @TableField("SMT_WALLET2_TIMES")
    private Long smtWallet2Times;

    @TableField("SMT_WALLET2_ADDTIMES")
    private Long smtWallet2Addtimes;

    @TableField("SMT_WALLET2_DECTIMES")
    private Long smtWallet2Dectimes;

    @TableField("SMT_WALLET2_MONEY")
    private Long smtWallet2Money;

    @TableField("SMT_WALLET2_DEALDATETIME")
    private Date smtWallet2Dealdatetime;

    @TableField("SMT_WALLET3_TIMES")
    private Long smtWallet3Times;

    @TableField("SMT_WALLET3_ADDTIMES")
    private Long smtWallet3Addtimes;

    @TableField("SMT_WALLET3_DECTIMES")
    private Long smtWallet3Dectimes;

    @TableField("SMT_WALLET3_MONEY")
    private Long smtWallet3Money;

    @TableField("SMT_WALLET3_DEALDATETIME")
    private Date smtWallet3Dealdatetime;

    @Override
    public Serializable pkVal() {
        return this.smtCardid;
    }
}
